2025-01-15
2025-01-15
π Notes
Soft Deleteμ μνλ³κ²½
delete-deposit.usecase.ts
μ 보면.. Deposit μ체μ μνλ λ°κΎΈκ³ softDelete
λ‘ delAt
νλ‘νΌν°λ μ€μ νλ€. λκ°μ§λ₯Ό λ€ ν νμκ° μμκΉ? β ν΄μΌνμ§ μμκΉ? μλλ©΄ FSMServiceμμ μμ κ° λλ©΄ μλλ 쑰건μ ν¨μΆνκ³ μκΈ° λλ¬Έμ deposit.transition
μμ μλ λλ€μ κ±Έλ €μΌ νμμ. μ무λλ μμ λλ©΄ μλλ€κ³ .
const event = new DepositDeletedEvent(deposit, deposit.senderSig);
deposit.transition(event.name, this.depositFsmService);
// !NOTE - delAtκ³Ό state.Deletedκ° μ€λ³΅λ μ 보λ₯Ό μ μ₯νλ κ² μλλ?
await this.depositRepository.manager.transaction(
async (transactionalEntityManager) => {
await transactionalEntityManager.save(deposit);
await transactionalEntityManager.softDelete(Deposit, depositId);
},
);
delAtκ³Ό state.Deletedκ° μ€λ³΅λ μ 보λ₯Ό μ μ₯νλ κ²μ²λΌ λ³΄μΌ μ μμ§λ§, μ¬μ€ μ΄ λμ λͺ©μ κ³Ό μ¬μ©λλ λ§₯λ½μ΄ λ€λ¦ λλ€:
delAt
: 물리μ κ΄μ μμ λ°μ΄ν°λ₯Ό λ Όλ¦¬μ μΌλ‘ μμ μ²λ¦¬ν©λλ€. λ°μ΄ν°μ μμ μκ°κ³Ό ν¨κ», ORMμμ μ 곡νλ μλνλ κΈ°λ₯μ νμ©ν μ μκ² ν΄μ€λλ€.state.Deleted
: λ Όλ¦¬μ /λΉμ¦λμ€ κ΄μ μμ νΉμ κ°μ²΄μ μνλ₯Ό ννν©λλ€. FSMκ³Ό κ²°ν©ν΄ κ°μ²΄κ° κ°μ§ μ μλ μνλ₯Ό μ ννκ³ , λΉμ¦λμ€ λ‘μ§μ μΌκ΄μ±μ μ μ§ν©λλ€.
Refactoring μ μ
νμ μμ±λ¨ μ΄λ²€νΈ νΈλ€λ¬μμ IncreaseFundSumUsecase
λ₯Ό νΈμΆνλ κ±Έλ‘ λ³κ²½νλ κ²μ μ΄λ νμ§? νμ¬λ DepositMatchedEvent
νΈλ€λ¬μμ νμ μμ±, νλ©κΈμ‘ μ¦κ°, Notification λ°μ‘μ μ λΆ λ€ νκ³ μλ€.
π 2025-01-15 Daily Briefing
π΅ μ€λμ μΆμ²κ³‘
π μ€λμ μ΄λ
π μ€λμ...
Giftogether νμλ€μκ² μ΄λ²€νΈ μ€ν λ° κ²°κ³Όλ₯Ό 곡μ ν΄μΌ νλ€. κ΅³μ΄ μ€λν νμλ μλ€. κ·Έλ₯ λμ§μ κΈ°νκ° λλ©΄ κ°μ΄ μ΄λ²€νΈ μ€ν λ°μ ν΄λ³΄μκ³ λ 보λ κ²μΌλ‘ μΆ©λΆνλ€.
Giftogether νλ‘μ νΈ μ€ λλ©μΈ λ‘μ§μ ꡬνν μ°¨λ‘μ΄λ€. WISH-420 λ‘μ§μ λ°λ‘ ꡬννκΈ° μ μ μ΄λ²€νΈ μ€ν λ°μΌλ‘ κ°λ₯ν λλΆλΆμ λλ©μΈ μ΄λ²€νΈμ μνμ μ΄λ₯Ό μλ³νμΌλ PoC μ½λλ₯Ό λ¨Όμ λ§λ€μ΄ λ¨Έμ§λ₯Ό κ°κ²¨μΌ νλ€.
κΎΈμ€ν ν΄μΌ νλ μμ μ λ°λ‘ FSM Serviceλ‘μ μ νμ΄λ€. Donation μνλ€μ΄μ΄κ·Έλ¨μ λ¨Όμ WISH-414μμ λ§λ€μ΄λκ³ WISH-420μ μ§ννλ κ²μΌλ‘ νμ.
π μ΄μ λ...
2025-01-11 obsidian λΈλ‘κ·Έ κ°νΈνλ μ΄μ λΈλ‘κ·Έ μ΄μ£Όμ λ°μ―€ μ±κ³΅νλ€. Obsidian Digital Gardenμ λμ νμμΌλ, λ΄κ° κ°μ§ λ¬Έμμ μμ΄ μλ λ§μ μΌμΌμ΄ htmlλ‘ λ³ννλ€κ° Node.JSμ ν λ©λͺ¨λ¦¬ μ©λμ μ΄κ³Όνλ€λ μλ¬κ° λ°μνλ€ Troubleshooting Digital Garden. λΉλ μκ°λ 20λΆμ΄ λμμΌλ κ΅μ₯ν λΉν¨μ¨μ μ΄λΌλ κ²μ μκ² λμλ€. μ΅μ ν λ°©λ²μ κ°κ΅¬νκ³ μ΅μ ννμ μ’ ν΄λ³΄μ. (Digital Gardenμ΄ μ¬μ©νλ eleventy μλ°μ€ν¬λ¦½νΈ λΌμ΄λΈλ¬λ¦¬λ₯Ό λ―μ΄λ΄μΌν μ§λ) λ§μ½ κ·Έλλ μλλ€λ©΄ λ€λ₯Έ μ μμ€ μΈμ΄λ‘ κ°μν μλ°μ μμ΄λ³΄μΈλ€ (μλΌ λ΄ dataview...!)
π μ€λμ μ½κΈ°λͺ©λ‘
β° Daily Routine
24λ 12μμ λ°μΌλ¦¬ 루ν΄
- 0012 Career πΌ
- 0011 Algorithms βΎοΈ 2024-12-23 ~ 2025-01-19 κΈ°κ°λμ μ§νν μ±λ¦°μ μ€ μ½ν μΈμ¦
- 25λ
1μμ μμΉΌν
- μΈμ μ¬λλ€κ³Ό μ°κ²°νκΈ° μν μν΅μ μ°½κ΅¬λ‘ λλ λΈλ‘κ·Έλ₯Ό μ ννλ€. λΈλ‘κ·Έ μλ¨μ₯μ μ§νμ€μ μμΌλ κΈλ°© νΈλν½μ λ°μ μ μμ κ²μ΄λ€.
π WHY, HOW, WHAT
μ€λ ν루μ λκΈ°λ₯Ό λ€μ μκ°ν΄λ³΄λ μκ°μ κ°μ Έλ΄ μλ€. μ€λμ μ λ , λͺ©νλ₯Ό λ¬μ±νκΈ° μν λ°©λ², μ€λμ μ±κ³Όμ λν΄μ μμ±ν΄λ΄ μλ€.
πͺ PARA
[Projects]
-
Giftogether νλ‘μ νΈ
-
λΈλ‘κ·Έ κ°νΈ νλ‘μ νΈ
- 2025-01-11 obsidian λΈλ‘κ·Έ κ°νΈνλ
- Obsidian Digital Gardenμ λΉλ μ±λ₯ μ΅μ ν
- Node.js ν λ©λͺ¨λ¦¬ λ¬Έμ ν΄κ²° λ° Eleventy μ΅μ ν λ°©μ κ²ν
- νμμ λ체 κΈ°μ κ²ν
- 2025-01-11 obsidian λΈλ‘κ·Έ κ°νΈνλ
[Areas]
-
FSM Service
- Donation μνλ€μ΄μ΄κ·Έλ¨ μ§μμ μΈ κ΄λ¦¬ λ° νμ₯
-
λΈλ‘κ·Έ μ΄μ
- 0012 Career πΌ: λΈλ‘κ·Έλ₯Ό ν΅ν λ€νΈμνΉ κ°ν
- 25λ 1μμ μμΉΌν λͺ©νμ μ°κ³
-
κ°μΈ μ€ν¬ ν₯μ
- 0011 Algorithms βΎοΈ μ±λ¦°μ§ μ§ν
[Resources]
-
μ°Έκ³ λ§ν¬ λ° λ¬Έμ
-
κ°λ° λꡬ λ° μλ£
- Eleventy μλ°μ€ν¬λ¦½νΈ λΌμ΄λΈλ¬λ¦¬
- Node.js λ©λͺ¨λ¦¬ μ΅μ ν κ΄λ ¨ μλ£
[Archive]
- μ΄μ μ μ§ν μ¬ν
- λΈλ‘κ·Έ μ΄μ£Ό μ λ° μλ£, λ¬Έμ μ λ° ν΄κ²°μ± λ°κ²¬